// 设置发送 根据条件查询 接口类型
export interface IHospitalListPrams {
  page: number
  pageSize: number
  hosname: string
  hoscode: string
  hostype: string
  provinceCode: string
  cityCode: string
  districtCode: string
  status: Status
}

// 定义 医院是否为在线状态
export type Status = 0 | 1

// 定义 hospital 类型
export interface IHospital {
  id: string
  createTime: string
  updateTime: string
  isDeleted: number
  param: {
    hostypeString: string
    fullAddress: string
  }
  hoscode: string
  hosname: string
  hostype: string
  provinceCode: string
  cityCode: string
  districtCode: string
  address: string
  logoData: string
  intro: string
  route: string
  status: Status
}
// 定义 bookingRule 类型
export interface IBookingRule {
  cycle: number
  releaseTime: string
  stopTime: string
  quitDay: number
  quitTime: string
  rule: string[]
}

// 定义 所以接口返回的 类型
export interface IHospitalListItem extends IHospital {
  bookingRule: IBookingRule
}

// 定义 省市区 数据的类型
export interface IHospitalCityItem {
  id: number
  createTime: string
  updateTime: string
  isDeleted: number
  param: object
  parentId: number
  name: string
  value: string
  dictCode: null
  hasChildren: true
}

// 定义 返回的医院列表数组的 类型
export type IHospitalListsLsType = IHospitalListItem[]

export type IHospitalCityType = IHospitalCityItem[]

// 定义 接口返回的所有数据的 类型
export interface IHospitalListsLsResponse {
  content: IHospitalListsLsType
  totalElements: number
}

// 定义 详情页 接口返回的数据 类型
export interface IHospitalShow {
  hospital: IHospital
  bookingRule: IBookingRule
}

// 定义 单个医院科室 接口返回的数据 类型
export interface DepartmentItem {
  depcode: string
  depname: string
  children: DepartmentList
  disabled: boolean
}
// 定义 医院科室数组 接口返回的数据 类型
export type DepartmentList = DepartmentItem[]

// 排班规则(scheduleRule)的接口
export interface IScheduleRuleParams {
  page: number
  pageSize: number
  hoscode: string
  depcode: string
}

// 定义 医院排班日期 接口返回的数据 类型
export interface reqGetHospitalRuleListResponse {
  total: number
  bookingScheduleList: bookingScheduleList[]
  baseMap: {
    hosname: string
  }
}
// 定义 bookingScheduleList 接口类型
export interface bookingScheduleList {
  workDate: string
  workDateMd: null
  dayOfWeek: string
  docCount: number
  reservedNumber: number
  availableNumber: number
  status: null
}

// 定义 医院排班列表（单个） 接口返回的数据 类型
export interface IHosScheduleItem {
  id: string
  createTime: string
  updateTime: string
  isDeleted: number
  param: {
    dayOfWeek: string
    depname: string
    hosname: string
  }
  hoscode: string
  depcode: string
  title: string
  docname: string
  skill: string
  workDate: string
  workTime: number
  reservedNumber: number
  availableNumber: number
  amount: number
  status: Status
  hosScheduleId: string
}

// 定义 医院排班列表（数组） 接口返回的数据 类型
export type IHosScheduleList = IHosScheduleItem[]
